#ifdef __cplusplus 
#include <cstdint>
extern "C" {
#else
//#include "stdint.h"
#endif 

__declspec(dllexport) int ReadTalairachVolume(bool filtered, float alpha, float brightness, float contrast, float colormap[3*256],
												float mat[4][4], int* dim, unsigned short * data, float talairachPoints[3][9]);

__declspec(dllexport) int GetSliceSize(int dir, int* sizeX, int* sizeY);

__declspec(dllexport) int ReadVolume(int id, float alpha, float brightness, float contrast, float colormap[3*256], float mat[4][4], int* dim, unsigned char* data);
	
__declspec(dllexport) float* GetFirstSlice(double* pos, int dir, unsigned char** result);

__declspec(dllexport) float* GetSlice(double* pos, int dir, unsigned char** result);

__declspec(dllexport) int SetAlpha(int id, float alpha);

__declspec(dllexport) int SetBrightness(int id, float b);

__declspec(dllexport) int SetContrast(int id, float c);

__declspec(dllexport) int SetColormap(int id, float cm[3*256]);

__declspec(dllexport) int SetTalairachColormap(float cm[3*2000]);

__declspec(dllexport) int SetFilterLimits (int id, float lowerLimit, float upperLimit);

__declspec(dllexport) int SetTransformationMatrix (int id, float mat[4][4]);

__declspec(dllexport) int GetRenderedVolumesNumberAndSize (int* number, int* X, int* Y, int* Z );

__declspec(dllexport) const char** GetRenderedVolumes (unsigned char** volumes, double** transformationMatrix);

#ifdef __cplusplus
}
#endif
